<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>Client Side Pagination in DataGrid - jQuery EasyUI Demo</title>

</head>
<body>
	<div id="tb7" ></div>
	<div id="dlg7"></div>
	
	<script type="text/javascript" th:inline="none">
		var row7;
		
		//create user dialog
		$('#dlg7').dialog({
		    title: '生成邀请码',
			iconCls: 'icon-add',
			modal : true,
			closed : true,
			width: 420,
			height: 245,
		    cache: false,
		    href: 'tabs/dialogs/createInviteCd.html'
		});
		
		var toolbar = [{
			text:'新增',
			iconCls:'icon-add',
			handler:function(){
				$('#dlg7').dialog('open');
			}
		},{
			text:'删除',
			iconCls:'icon-remove',
			handler:function(){
				row7 = $('#tb7').datagrid('getSelections');
				if(row7!=null&&row7.length>0){
					var uuids = '';
					for(var rr of row7){
						uuids = uuids + rr.inviteId + ',';
					}
					$.ajax({
					    type : "POST", 
					    url : "/delInviteCds",
					    data : { "uuids": uuids },
					    success : function(result) {
					    	$.messager.show({
								title:'结果',
								msg: result,
								timeout:2000,
								showType:'slide'
							});
					      	$('#tb7').datagrid('reload');
						},
						error : function(){
					       	$.messager.show({
								title:'失败',
								msg:'删除失败，请重试',
								timeout:2000,
								showType:'slide'
							}); 
						}
				    });
					row7 = null;
				}
				else{
					$.messager.show({
						title:'错误',
						msg:'请选择至少一行',
						timeout:2000,
						showType:'slide'
					});
				}
			}
		},{
			text:'刷新',
			iconCls:'icon-reload',
			handler:function(){
				$('#tb7').datagrid('reload');
			}
		},{
			text:'导出',
			iconCls:'icon-export',
			handler:function(){
				window.location.href="/exportInvites";
			}
		},{
			text:'帮助',
			iconCls:'icon-help',
			handler:function(){
				$.messager.alert('帮助','<b>1.</b>创建邀请码可以选择邀请码数量和通过此邀请码注册的用户所能持有的最大子域的数量<br>'+
						'<b>2.</b>邀请码的使用页面在<a href="/refer.html" target="_blank">这里</a>','');
			}
		}];
		
		$('#tb7').datagrid({
			url : '/getInvite',
			border : false,
			fit : true,
			autoRowHeight : false,
			pagination:true,
			pageSize:100,
			pageList : [100,200,500],
			remoteSort: false,
			method:'post',
			toolbar:toolbar,
			columns : [[
				{field : 'ck',title : '选中',align : 'center',checkbox: true}, 
				{field : 'inviteId',title : '邀请码',align : 'center',sortable:true }, 
				{field : 'startDt',title : '生效时间',align : 'center',sortable:true ,
					formatter: function(value,row,index){
						if(value==null||value==''){
							return '';
						}
						else{
							var date = new Date(value);
							// 格式化日期
							dateTime = date.toLocaleString();
							return dateFormat("YYYY-mm-dd", date);
						}
					}	
				},
				{field : 'endDt',title : '失效时间',align : 'center',sortable:true,
					formatter: function(value,row,index){
						if(value==null||value==''){
							return '';
						}
						else{
							var date = new Date(value);
							// 格式化日期
							dateTime = date.toLocaleString();
							return dateFormat("YYYY-mm-dd", date);
						}
					}	
				},
				{field : 'userDomainCnt',title : '允许子域数',align : 'center',sortable:true },
				{field : 'inviteStatus',title : '状态',align : 'center',sortable:true,
					formatter: function(value,row,index){
						if(value=='1'){
							return "<font color='green'>可用</font>";
						}
						else if(value=='2'){
							return "<font color='lime'>使用中</font>";
						}
						else if(value=='3'){
							return "<font color='silver'>已使用</font>";
						}
						else if(value=='4'){
							return "<font color='red'>出错</font>";
						}
						else{
							return value;
						}
					}
				},
				{field : 'result',title : '信息',align : 'center',sortable:true }
			]]
		});
		
		function dateFormat(fmt, date) {
		    let ret;
		    const opt = {
		        "Y+": date.getFullYear().toString(),        // 年
		        "m+": (date.getMonth() + 1).toString(),     // 月
		        "d+": date.getDate().toString()            // 日
		        // 有其他格式化字符需求可以继续添加，必须转化成字符串
		    };
		    for (let k in opt) {
		        ret = new RegExp("(" + k + ")").exec(fmt);
		        if (ret) {
		            fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
		        };
		    };
		    return fmt;
		}
		
	</script>
</body>
</html>
